Trò chơi đua xe động vật trong UNITY Engine
- Tiled2UnityMenuItems.cs
- Editor /
- Scripts /
- Tiled2Unity /
- Assets /
- project /
2 using System.Collections;
3 using System.Collections.Generic;
4 using System.IO;
5 using System.Linq;
6 using System.Text;
7
8 using UnityEditor;
9 using UnityEngine;
10
11 namespace Tiled2Unity
12 {
13 class Tiled2UnityMenuItems
14 {
15 // Convenience function for packaging this library
16 [MenuItem("Tiled2Unity/Export Tiled2Unity Library ...")]
17 static void ExportLibrary()
18 {
19 string name = String.Format("Tiled2Unity.{0}.unitypackage", ImportTiled2Unity.ThisVersion);
20 var path = EditorUtility.SaveFilePanel("Save texture as PNG", "", name, "unitypackage");
21 if (path.Length != 0)
22 {
23 List<string> packageFiles = new List<string>();
24 packageFiles.AddRange(EnumerateAssetFilesAt("Assets/Tiled2Unity", ".cs", ".shader", ".txt"));
25 AssetDatabase.ExportPackage(packageFiles.ToArray(), path);
26 }
27 }
28
29 // Not ready for public consumption yet. (But handy to have for development)
30 //[MenuItem("Tiled2Unity/Clean Tiled2Unity Files")]
31 //static void CleanFiles()
32 //{
33 // Debug.LogWarning("Cleaning out Tiled2Unity files that were automatically created. Re-import your *.tiled2unity.xml files to re-create them.");
34 // DeleteAssetsAt("Assets/Tiled2Unity/Materials");
35 // DeleteAssetsAt("Assets/Tiled2Unity/Meshes");
36 // DeleteAssetsAt("Assets/Tiled2Unity/Prefabs");
37 // DeleteAssetsAt("Assets/Tiled2Unity/Textures");
38 //}
39
40 private static IEnumerable<string> EnumerateAssetFilesAt(string dir, params string[] extensions)
41 {
42 foreach (string d in Directory.GetDirectories(dir))
43 {
44 foreach (string f in Directory.GetFiles(d))
45 {
46 if (extensions.Any(ext => String.Compare(ext, Path.GetExtension(f), true) == 0))
47 {
48 yield return f;
49 }
50 }
51
52 foreach (string f in EnumerateAssetFilesAt(d, extensions))
53 {
54 yield return f;
55 }
56 }
57 }
58
59 private static void DeleteAssetsAt(string dir)
60 {
61 // Note: Does not remove any text files.
62 foreach (string f in Directory.GetFiles(dir))
63 {
64 if (f.EndsWith(".txt", true, null))
65 continue;
66
67 if (f.EndsWith(".meta", true, null))
68 continue;
69
70 // Just to be safe. Do not remove scripts.
71 if (f.EndsWith(".cs", true, null))
72 continue;
73
74 AssetDatabase.DeleteAsset(f);
75 }
76 }
77
78 }
79 }
Convenience function for packaging this library
Not ready for public consumption yet. (But handy to have for development)
[MenuItem("Tiled2UnityClean Tiled2Unity Files")]
static void CleanFiles()
{
Debug.LogWarning("Cleaning out Tiled2Unity files that were automatically created. Re-import your *.tiled2unity.xml files to re-create them.");
DeleteAssetsAt("AssetsTiled2UnityMaterials");
DeleteAssetsAt("AssetsTiled2UnityMeshes");
DeleteAssetsAt("AssetsTiled2UnityPrefabs");
DeleteAssetsAt("AssetsTiled2UnityTextures");
}
Note: Does not remove any text files.
Just to be safe. Do not remove scripts.